using RealtimeCollabGame.Domain.Entities;

namespace RealtimeCollabGame.Application.Interfaces;

public interface IPlayerRepository
{
    Task<Player?> GetByIdAsync(Guid id);
    Task<Player?> GetByNickNameAsync(string nickName);
    Task<IEnumerable<Player>> GetAllAsync();
    Task<Player> AddAsync(Player player);
    Task<Player> UpdateAsync(Player player);
    Task DeleteAsync(Guid id);
    Task<bool> ExistsAsync(Guid id);
    Task<bool> ExistsByNickNameAsync(string nickName);
} 